14. 如何测试你的代码
你可以在项目提交之前对你的代码进行测试,请根据下面的提示来进行操作。
如何在工作区测试代码
本页面主要介绍如何使用教室中的 workspace 运行 python 脚本进行项目代码的测试。本地运行 python 的方法,可以回顾之前课程中的讲解: 【课程 5:脚本编写——5. 运行 Python 脚本】
1. 新建终端
想要在 workshop 中运行 python 脚本,首先要新建一个终端。
-
点击
NEW TERMINAL
或者+
按钮新建终端:

-
点击
NEW TERMINAL
的具体操作流程如下:

2. 输入命令开始测试
使用
python file_name.py
命令,即可运行文件名称为
file_name.py
的 python 脚本。如果同学没有修改文件名的话,那么一般情况下,该命令应该是
bikeshare.py
。

在完成项目的所有代码之后,我们需要对代码进行各种测试:
正常输入值测试
按照预期的输入值进行测试,比如:chicago, all, all,看是否可以正确运行,是否有报错:

异常输入值测试
输入一些异常的值,比如大小写不统一,随便输入乱码等,测试是否可以正常运行而不抛出错误:

各种值的组合测试
尝试筛选每一个城市的数据进行统计计算,因为三个城市的数据集存在数据差异。对不同的月份和星期进行随机筛选。比如:
- Chicago, January, all
- Chicago, February, Monday
- New York City, March, Tuesday
- New York City, April, Wednesday
- Washington, May, Saturday
- Washington, June, Friday
3. 常见错误
-
常见语法错误:
提示:
检查报错所在的代码行
- 注意有没有中文标点,常见的有逗号、冒号、括号、引号等
- 注意缩进层级,建议统一使用四个空格作为一个缩进层级
-
没有控制有效输入,在输入异常值的时候报错;
提示: 使用 while 循环来控制有效输入; -
没有统一大小写,导致输入不同大小写的单词时出现报错,或被误判为异常值;
提示: 使用lower()
,upper()
,title()
等内置函数对输入值进行统一处理; -
只进行了统计计算,没有打印出来,这样在测试运行时看不到展示结果;
提示: 为每个统计计算的结果添加 print 语句 -
没有正确理解“站点组合”(
# TO DO: display most frequent combination of start station and end station trip
)的概念。 提示: 举例来理解。乘客某一次行程是从 A 到 B,那么他本次行程的站点组合就是 A->B,某一次的行程是从 A 到 C,那么本次的站点组合是 A->C,假设,有很多次行程,这些组合分别是:[A->B, A->C, B->C, C->A, A->B, D->C],那么其中最多的站点组合是哪个?
在这个例子中,最多的开始站是 A(出现了 3 次),最多的结束站是 C(出现了 3 次),但是最多的站点组合是 A->B(出现了两次)。 -
某个变量未定义;
提示: 检查该变量所在的函数中是否有这个变量的赋值语句,这个变量是否在该函数需要传入的参数中。如果对函数的传参、返回以及变量作用域等概念不理解或者不熟悉,可以复习 【课程 4:函数的前 7 小节】 ,更多相关概念的讲解,参考中文资料 Python3 函数 、英文资料 How To Define Functions in Python 3 ; -
没有注意到城市之间的数据差异,华盛顿数据集中缺少
Gender
和Birth Year
列,如果对华盛顿的数据集做这两列的统计计算,就会报错KeyError
。
提示: 可以使用if/else
或者try/except
语句 进行容错处理。